Portable computers can only function for several hours before draining their battery sources. Some of the major power using components are the display system, which is typically a liquid crystal device (LCD) display panel and backlight, the hard disk drive, an optical disk drive such as a CD-ROM drive, and the microprocessor or central processing unit (CPU). The primary power management technique for the components in portable computers is the use of several reduced-power or power-save operating modes, each mode being entered following the time- out of a fixed predetermined time period since the component was last accessed. The computer may have a reduced-power operating mode which turns off the LCD display, one which reduces overall system power but leaves the system in an intermediate state of readiness (e.g., STANDBY), and one which turns off most of the components and requires a special process to return to the active state (e.g., SUSPEND). Additionally, the computer may be able to control the power modes of some of the individual components. There may be reduced clock rate mode for the CPU, and reduced-power modes for the peripheral components, such as the CD-ROM and hard disk drive. For example, at the end of a fixed time period since the user last read data from the CD-ROM, the read head is moved to its parking location and the CD-ROM spindle motor is shut off. When the user next accesses the CD-ROM, the spindle motor is spun up and the head is moved across the disk to read data on the appropriate data track. The primary disadvantage of such a power-save mode is the time delay in exiting the mode, during which the user must wait. This greatly affects the performance of the computer. A further disadvantage is the potential of increasing energy usage by entering a power-save mode inappropriately. Typically, the lengths of the fixed time periods are set by the computer user through software.
The problem with this prior power-save technique is that no user has the necessary data to choose a good fixed time period. The user has only limited knowledge of access patterns, and no real information on the energy and performance parameters for the various components. The user is isolated from the component access patterns by the hardware and software in the system. Fixed times for entering power-save modes are a poor tradeoff between energy and performance since there is no allowance for the user workload. The user must change the fixed times in anticipation of the workload, and the selection of times too short or too long can adversely impact performance and energy consumption.
Short mode entry times save energy when the access pattern has bursts of activity followed by long periods of inactivity. However, excess energy is used when the inactive periods are close to the mode entry time. Performance may also be impacted since the modes are entered after short periods of inactivity, typically resulting in more frequent access delays due to mode recovery times.
Long mode entry times reduce the impact on computer performance and are less prone to use excess energy, assuming that longer inactive periods are less common than shorter inactive periods. However, they use extra energy while waiting to enter the power-save mode.
During a particular user workload, it is quite probable that the optimum time will not be constant. Further, the workload may change without the user being aware of it since it may be due to the behavior of application software the user is running.
Some computer systems have used adaptive power management methods in an attempt to address these problems. These systems (such as the IBM Thinkpad 760) monitor the duration of power-save modes to adjust the delay time for entering the mode. However, such approaches do not substantially reduce the energy consumption, since they make the assumption that there is a strong correlation between periods of inactivity. They do not use the access patterns to modify the mode entry time.
The user really wants to choose between energy consumption and computer performance, not between fixed mode entry times. The user's choice of fixed mode entry times is merely a guess at achieving some energy or performance goal. It is clearly preferable for the system or components to receive the user's energy and performance goals as inputs. With these goals, the system or component may then take whatever measures are appropriate to meet them. This also permits the use of many more power-save modes since the user need not be aware of the specific power-save modes in the drive if the user is no longer selecting a fixed time for each mode entry.
What is needed is a method and system for achieving power management of components in portable computers that can detect and adapt to changing workloads, and that can use energy and performance goals, instead of fixed times, to determine when to enter and exit power-save modes.